Qu'est-ce que dirty code ?

"Dirty code" ou "code sale" est un terme utilisé dans le domaine de la programmation pour décrire un code source de basse qualité. Il s'agit d'un terme subjectif, qui varie selon les développeurs et les normes de l'industrie, mais il fait généralement référence à du code difficile à lire, à comprendre et à maintenir.

Les caractéristiques courantes d'un code sale comprennent :

  1. Manque de clarté : le code peut manquer de commentaires, de documentation appropriée ou de noms de variables explicites, rendant difficile la compréhension de son fonctionnement.

  2. Duplication : le code contient souvent des parties redondantes et répétitives qui pourraient être évitées en utilisant des fonctions ou des classes.

  3. Longueur excessive : des fonctions ou des classes peuvent être trop longues, ce qui rend la lecture et la compréhension plus difficiles. Il est préférable d'avoir des composants plus courts et mieux structurés.

  4. Mauvaise utilisation des conventions de codage : les conventions de codage, telles que l'indentation, la mise en forme, les espaces, etc., sont souvent négligées dans le code sale, entraînant un aspect rebutant et incohérent.

  5. Absence de tests : le code sale a souvent un manque de tests unitaires, ce qui rend difficile la détection et la correction des bugs.

  6. Dépendances non gérées : le code peut avoir des dépendances inexplicables ou excessives, ce qui rend difficile la compréhension de son fonctionnement et augmente la complexité de la maintenance.

Le code sale peut nuire à la productivité des développeurs, augmenter les temps de développement, rendre le code source fragile et difficile à maintenir, et augmenter les risques d'erreurs et de bugs. Il est donc crucial de veiller à réduire autant que possible le code sale en suivant des bonnes pratiques de programmation, en écrivant un code lisible et bien structuré, en utilisant des conventions et des normes de codage, en documentant correctement le code et en effectuant régulièrement des tests de qualité.